Systems and methods for intelligently recording a live media stream

ABSTRACT

In an embodiment, a method includes initiating a mobile device operable to continuously capture a live media stream such that recording of the live media stream is deactivated. The method further includes refraining from recording the live media stream while recording of the live media stream is deactivated. In addition, the method includes monitoring environmental conditions for one or more preconfigured indicators that the mobile device has exited the defined physical area. Also, the method includes, responsive to detection of at least one of the one or more preconfigured indicators, determining to activate recording of the live media stream.

BACKGROUND

Technical Field

The present disclosure relates generally to media capture and more particularly, but not by way of limitation, to systems and methods for intelligently recording a live media stream.

History of Related Art

Capture devices such as wearable cameras and microphones may capture audio and/or video for storage and retrieval. A significant portion of the captured data is often irrelevant. For example, a video camera worn on a police officer's chest may capture lengthy video of a police car's dash or of a steering wheel. Storage operations and network transmissions involving the captured data are typically grossly inefficient due to the sheer volume of irrelevant data.

SUMMARY OF THE INVENTION

In an embodiment, a method includes initiating a mobile device operable to continuously capture a live media stream such that recording of the live media stream is deactivated. The method further includes refraining from recording the live media stream while recording of the live media stream is deactivated. In addition, the method includes monitoring environmental conditions for one or more preconfigured indicators that the mobile device has exited the defined physical area. Also, the method includes, responsive to detection of at least one of the one or more preconfigured indicators, determining to activate recording of the live media stream.

In one embodiment, a system includes at least one processor, wherein the at least one processor is operable to implement a method. The method includes initiating a mobile device operable to continuously capture a live media stream such that recording of the live media stream is deactivated. The method further includes refraining from recording the live media stream while recording of the live media stream is deactivated. In addition, the method includes monitoring environmental conditions for one or more preconfigured indicators that the mobile device has exited the defined physical area. Also, the method includes, responsive to detection of at least one of the one or more preconfigured indicators, determining to activate recording of the live media stream.

In one embodiment, a computer-program product includes a non-transitory computer-usable medium having computer-readable program code embodied therein. The computer-readable program code is adapted to be executed to implement a method. The method includes initiating a mobile device operable to continuously capture a live media stream such that recording of the live media stream is deactivated. The method further includes refraining from recording the live media stream while recording of the live media stream is deactivated. In addition, the method includes monitoring environmental conditions for one or more preconfigured indicators that the mobile device has exited the defined physical area. Also, the method includes, responsive to detection of at least one of the one or more preconfigured indicators, determining to activate recording of the live media stream.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the method and apparatus of the present invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:

FIG. 1 illustrates an example of a system for intelligently recording a live media stream.

FIG. 2 illustrates examples of sensors.

FIGS. 3A-3B illustrate an example of processing and storing a live media stream on an in-vehicle media system.

FIG. 4 illustrates an example of processing and storing a live media stream on a mobile device.

FIG. 5 illustrates an example of a process for intelligently recording a live media stream.

DETAILED DESCRIPTION

In certain embodiments, mobile devices, such as wearable video cameras, can be integrated with an in-vehicle video system. The wearable video cameras can be triggered to begin recording at the same time the in-vehicle video system begins recording. Typical triggers can include, but are not limited to, emergency-light activation, siren activation, a detected speed in excess of a threshold, excessive g-force events (e.g., collisions), activation of a wireless microphone, combinations of same, and/or the like. However, the value of the video captured by the wearable video camera is often useless until a wearer (e.g., a police officer) exits the vehicle. For example, while the wearer is inside the vehicle, the camera may only be capturing an image of the vehicle's dash or steering wheel. Therefore, in certain embodiments, triggering the wearable video camera to record, for example, at the same time the in-vehicle video camera system begins recording, can result in unnecessary and uninteresting video. This video can result in increases to both system storage costs and the time to transfer the video out of the vehicle.

The present disclosure describes examples of intelligently recording a live media stream such as, for example, live video, live audio, combinations of same, and/or the like. A mobile device, such as a wearable microphone or video camera, can be used to capture the live media stream. In certain embodiments, the mobile device or another computer system can monitor environmental conditions for preconfigured indicators that the mobile device has exited a defined physical area (i.e., exit indicators). In an example, recording of the live media stream can be activated in response to detection of an exit indicator. In another example, recording of the live media stream can be deactivated in response to detection of a preconfigured indicator that the mobile device has entered the defined physical area (i.e., an entry indicator). Advantageously, in certain embodiments, storage resources can be preserved by ensuring that a live media stream is only recorded when the mobile device is outside the defined physical area.

FIG. 1 illustrates an example of a system 100 for intelligently recording a live media stream. The system 100 can include an in-vehicle media system (IVMS) 102, a mobile device 104, and a vehicle computer system 106. In certain embodiments, the IVMS 102 can be communicably coupled to the mobile device 104 and the vehicle computer system 106 via a communication link 108 and a communication link 110, respectively. The communication link 108 and the communication link 110 can be representative of wired and/or wireless communication. For example, the communication link 110 can be representative of the IVMS 102 being coupled to an on-board diagnostic (OBD) port of the vehicle computer system 106.

The IVMS 102 is typically operable to receive, process, and store media such as audio and/or video as it is received from the mobile device 104 and/or other media sources. An example of functionality that the IVMS 102 can include is described in U.S. Pat. No. 8,487,995 (“the '995 patent”). The '995 patent is hereby incorporated by reference. In general, the mobile device 104 can capture the media and, in some cases, provide same to the IVMS 102 in a continuous, ongoing fashion. The vehicle computer system 106 is typically integrated with a particular vehicle, for example, by a manufacturer of the vehicle. The vehicle computer system 106 can perform, among other functions, self-diagnostic and reporting functionality for the vehicle.

The IVMS 102, mobile device 104, and vehicle computer system 106 may each include one or more portions of one or more computer systems. In particular embodiments, one or more of these computer systems may perform one or more steps of one or more methods described or illustrated herein. In particular embodiments, one or more computer systems may provide functionality described or illustrated herein. In particular embodiments, encoded software running on one or more computer systems may perform one or more steps of one or more methods described or illustrated herein or provide functionality described or illustrated herein.

The components of IVMS 102, mobile device 104, and vehicle computer system 106 may comprise any suitable physical form, configuration, number, type and/or layout. As an example, and not by way of limitation, IVMS 102, mobile device 104, and/or vehicle computer system 106 may comprise an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, IVMS 102, mobile device 104, and/or vehicle computer system 106 may include one or more computer systems; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks.

In the depicted embodiment, IVMS 102, mobile device 104, and vehicle computer system 106 each include their own respective processors 111, 121, and 131; memory 113, 123, and 133; storage 115, 125, and 135; interfaces 117, 127, and 137; and buses 119, 129, and 139. Although a system is depicted having a particular number of particular components in a particular arrangement, this disclosure contemplates any system having any suitable number of any suitable components in any suitable arrangement. For simplicity, similar components of IVMS 102, mobile device 104, and vehicle computer system 106 will be discussed together while referring to the components of IVMS 102. However, it is not necessary for these devices to have the same components, or the same type of components. For example, processor 111 may be a general purpose microprocessor and processor 121 may be an application specific integrated circuit (ASIC).

Processor 111 may be a microprocessor, controller, or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic operable to provide, either alone or in conjunction with other components, (e.g., memory 113) wireless networking functionality. Such functionality may include providing various features discussed herein. In particular embodiments, processor 111 may include hardware for executing instructions, such as those making up a computer program. As an example and not by way of limitation, to execute instructions, processor 111 may retrieve (or fetch) instructions from an internal register, an internal cache, memory 113, or storage 115; decode and execute them; and then write one or more results to an internal register, an internal cache, memory 113, or storage 115.

In particular embodiments, processor 111 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 111 including any suitable number of any suitable internal caches, where appropriate. As an example and not by way of limitation, processor 111 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 113 or storage 115 and the instruction caches may speed up retrieval of those instructions by processor 111. Data in the data caches may be copies of data in memory 113 or storage 115 for instructions executing at processor 111 to operate on; the results of previous instructions executed at processor 111 for access by subsequent instructions executing at processor 111, or for writing to memory 113, or storage 115; or other suitable data. The data caches may speed up read or write operations by processor 111. The TLBs may speed up virtual-address translations for processor 111. In particular embodiments, processor 111 may include one or more internal registers for data, instructions, or addresses. Depending on the embodiment, processor 111 may include any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 111 may include one or more arithmetic logic units (ALUs); be a multi-core processor; include one or more processors 111; or any other suitable processor.

Memory 113 may be any form of volatile or non-volatile memory including, without limitation, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), flash memory, removable media, or any other suitable local or remote memory component or components. In particular embodiments, memory 113 may include random access memory (RAM). This RAM may be volatile memory, where appropriate. Where appropriate, this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM may be single-ported or multi-ported RAM, or any other suitable type of RAM or memory. Memory 113 may include one or more memories 113, where appropriate. Memory 113 may store any suitable data or information utilized by IVMS 102, including software embedded in a computer readable medium, and/or encoded logic incorporated in hardware or otherwise stored (e.g., firmware). In particular embodiments, memory 113 may include main memory for storing instructions for processor 111 to execute or data for processor 111 to operate on. In particular embodiments, one or more memory management units (MMUs) may reside between processor 111 and memory 113 and facilitate accesses to memory 113 requested by processor 111.

As an example and not by way of limitation, IVMS 102 may load instructions from storage 115 or another source (such as, for example, another computer system) to memory 113. Processor 111 may then load the instructions from memory 113 to an internal register or internal cache. To execute the instructions, processor 111 may retrieve the instructions from the internal register or internal cache and decode them. During or after execution of the instructions, processor 111 may write one or more results (which may be intermediate or final results) to the internal register or internal cache. Processor 111 may then write one or more of those results to memory 113. In particular embodiments, processor 111 may execute only instructions in one or more internal registers or internal caches or in memory 113 (as opposed to storage 115 or elsewhere) and may operate only on data in one or more internal registers or internal caches or in memory 113 (as opposed to storage 115 or elsewhere).

In particular embodiments, storage 115 may include mass storage for data or instructions. As an example and not by way of limitation, storage 115 may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. Storage 115 may include removable or non-removable (or fixed) media, where appropriate. Storage 115 may be internal or external to IVMS 102, where appropriate. In particular embodiments, storage 115 may be non-volatile, solid-state memory. In particular embodiments, storage 115 may include read-only memory (ROM). Where appropriate, this ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. Storage 115 may take any suitable physical form and may comprise any suitable number or type of storage. Storage 115 may include one or more storage control units facilitating communication between processor 111 and storage 115, where appropriate.

In particular embodiments, interface 117 may include hardware, encoded software, or both providing one or more interfaces for communication (such as, for example, packet-based communication) among IVMS 102, mobile device 104, vehicle computer system 106, any networks, any network devices, and/or any other computer systems. As an example and not by way of limitation, communication interface 117 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network and/or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network.

In some embodiments, interface 117 comprises one or more radios coupled to one or more physical antenna ports 116. Depending on the embodiment, interface 117 may be any type of interface suitable for any type of network with which the system 100 is used. As an example and not by way of limitation, the system 100 can include (or communicate with) an ad-hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example, the system 100 can include (or communicate with) a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, an LTE network, an LTE-A network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or any other suitable wireless network or a combination of two or more of these. IVMS 102 may include any suitable interface 117 for any one or more of these networks, where appropriate.

In some embodiments, interface 117 may include one or more interfaces for one or more I/O devices. One or more of these I/O devices may enable communication between a person and IVMS 102. As an example and not by way of limitation, an I/O device may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet, touchscreen, trackball, video camera, another suitable I/O device or a combination of two or more of these. An I/O device may include one or more sensors. Particular embodiments may include any suitable type and/or number of I/O devices and any suitable type and/or number of interfaces 117 for them. Where appropriate, interface 117 may include one or more drivers enabling processor 111 to drive one or more of these I/O devices. Interface 117 may include one or more interfaces 117, where appropriate.

Bus 119 may include any combination of hardware, software embedded in a computer readable medium, and/or encoded logic incorporated in hardware or otherwise stored (e.g., firmware) to couple components of IVMS 102 to each other. As an example and not by way of limitation, bus 119 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or any other suitable bus or a combination of two or more of these. Bus 119 may include any number, type, and/or configuration of buses 119, where appropriate. In particular embodiments, one or more buses 119 (which may each include an address bus and a data bus) may couple processor 111 to memory 113. Bus 119 may include one or more memory buses.

Herein, reference to a computer-readable storage medium encompasses one or more tangible computer-readable storage media possessing structures. As an example and not by way of limitation, a computer-readable storage medium may include a semiconductor-based or other integrated circuit (IC) (such, as for example, a field-programmable gate array (FPGA) or an application-specific IC (ASIC)), a hard disk, an HDD, a hybrid hard drive (HHD), an optical disc, an optical disc drive (ODD), a magneto-optical disc, a magneto-optical drive, a floppy disk, a floppy disk drive (FDD), magnetic tape, a holographic storage medium, a solid-state drive (SSD), a RAM-drive, a SECURE DIGITAL card, a SECURE DIGITAL drive, a flash memory card, a flash memory drive, or any other suitable tangible computer-readable storage medium or a combination of two or more of these, where appropriate.

Particular embodiments may include one or more computer-readable storage media implementing any suitable storage. In particular embodiments, a computer-readable storage medium implements one or more portions of processor 111 (such as, for example, one or more internal registers or caches), one or more portions of memory 113, one or more portions of storage 115, or a combination of these, where appropriate. In particular embodiments, a computer-readable storage medium implements RAM or ROM. In particular embodiments, a computer-readable storage medium implements volatile or persistent memory. In particular embodiments, one or more computer-readable storage media embody encoded software.

Herein, reference to encoded software may encompass one or more applications, bytecode, one or more computer programs, one or more executables, one or more instructions, logic, machine code, one or more scripts, or source code, and vice versa, where appropriate, that have been stored or encoded in a computer-readable storage medium. In particular embodiments, encoded software includes one or more application programming interfaces (APIs) stored or encoded in a computer-readable storage medium. Particular embodiments may use any suitable encoded software written or otherwise expressed in any suitable programming language or combination of programming languages stored or encoded in any suitable type or number of computer-readable storage media. In particular embodiments, encoded software may be expressed as source code or object code. In particular embodiments, encoded software is expressed in a higher-level programming language, such as, for example, C, Perl, or a suitable extension thereof. In particular embodiments, encoded software is expressed in a lower-level programming language, such as assembly language (or machine code). In particular embodiments, encoded software is expressed in JAVA. In particular embodiments, encoded software is expressed in Hyper Text Markup Language (HTML), Extensible Markup Language (XML), or other suitable markup language.

Referring more specifically to the mobile device 104, the mobile device 104 can include a media capture component 120 and a battery 118. The media capture component 120 can include video-capture hardware and/or software (e.g., a camera), audio-capture hardware and/or software (e.g., a microphone), combinations of same, and/or the like. In a typical embodiment, the media capture component 120 enables the mobile device 104 to capture the live media stream for processing and storage. The battery 118 typically provides a limited power source to the mobile device 104.

Furthermore, the IVMS 102 and the mobile device 104 can include a media processor 112(1) and a media processor 112(2), respectively (collectively, media processor(s) 112). The media processor(s) 112 can include software and/or hardware to process a live media stream and store the live media stream in memory (e.g., in the storage 115 or the storage 125). It should be appreciated that the media processor(s) 112 are shown for illustrative purposes. In various embodiments, the media processor 112(1) and/or the media processor 112(2) can be omitted.

For example, in an embodiment, processing and storage of the live media stream can occur entirely on the IVMS 102. In these embodiments, the media processor 112(2) of the mobile device 104 can be omitted. According to this example, the media capture component 120 of the mobile device 104 can continuously capture and send the live media stream to the IVMS 102 over the communication link 108. The media processor 112(1) of the IVMS 102 can receive, process, and store the live media stream in the storage 115 in the fashion described above. An example of processing and storing the live media stream on the IVMS 102 will be described with respect to FIGS. 3A-3B.

In another example, in an embodiment, processing and storage of the live media stream can occur entirely on the mobile device 104. In these embodiments, the media processor 112(1) of the IVMS 102 can be omitted. According to this example, the media capture component 120 of the mobile device 104 can continuously capture the live media stream as described above. In addition, the media processor 112(2) can receive, process, and store the live media stream in the storage 125 in the fashion described above. In that way, in many cases, the mobile device 104 can operate independently of the IVMS 102 and the vehicle computer system 106. In these cases, the IVMS 102 and/or the vehicle computer system 106 may also be omitted. An example of processing and storing the live media stream on the mobile device 104 will be described with respect to FIG. 4.

In addition, in some embodiments, processing and storage of the media stream can occur on both the IVMS 102 and the mobile device 104. In these embodiments, the media processor 112(1) and the media processor 112(2) can perform their respective media-processing functionality in parallel such that multiple copies of at least a portion of the captured media stream is maintained. In various cases, the media processor 112(2) can maintain a short-term cache, most recently captured media, combinations of same, and/or the like.

In certain embodiments, the media processor(s) 112 can activate or deactivate recording of the live media stream based, at least in part, on whether the mobile device 104 is deemed to be inside or outside the vehicle. In general, the media processor(s) 112 refrain from recording the live media stream while recording is deactivated. More specifically, the media processor(s) 112 can monitor environmental conditions for exit indicators, i.e., one or more preconfigured indicators that the mobile device 104 has exited the vehicle. In similar fashion, the media processor(s) 112 can monitor environmental conditions for entry indicators, i.e., one or more preconfigured indicators that the mobile device 104 has entered the vehicle. For example, as shown, the IVMS 102, the mobile device 104, and the vehicle computer system 106 can include sensors 114(1), 114(2), and 114(3), respectively (collectively, sensors 114).

The sensors 114 can provide information usable by the media processor(s) 112 to determine whether the mobile device 104 is inside a defined physical area (e.g., inside the vehicle). It should be appreciated that the sensors 114 are illustrative of an example arrangement. In various embodiments, the sensors 114 can reside exclusively on the IVMS, exclusively on the mobile device 104, exclusively on the vehicle computer system 106, etc. In general, the sensors 114 can reside on any combination of the IVMS 102, the mobile device 104, and the vehicle computer system 106. In some embodiments, the media processor 112(1) of the IVMS 102 can monitor the sensors 114(3) of the vehicle computer system 106 over the communication link 110 (e.g., via an on-board diagnostic (OBD) port of the vehicle computer system 106). In a similar manner, in some embodiments, the IVMS 102 can monitor the sensors 114(2) of the mobile device 104 over the communication link 108. Examples of the sensors 114 will be described in greater detail with respect to FIG. 2.

FIG. 2 illustrates examples of sensors 214. The sensors 214 are shown to include a dome-light sensor 218, an open-door sensor 220, a seat-weight sensor 222, a seatbelt sensor 224, a radio-frequency identification (RFID) system 226, a motion detector 228, a face detector 230, a signal analyzer 232, an infrared sensor system 234, and a relative position monitor 236. It should be appreciated that the sensors 214 are examples of sensors that can be included in a system such as the system 100 of FIG. 1. In various embodiments, the sensors 214 can include more, fewer, or different sensors.

The dome-light sensor 218 can provide an indication of whether a vehicle's dome light has a status of “active,” or “on.” In many cases, the dome-light sensor 218 can be one of the sensors 114(3) of the vehicle computer system 106. In some embodiments, the dome light can be linked to a vehicle-door status. For example, in various embodiments, the dome-light status might be active whenever a vehicle door has a status of “open.” According to this example, a dome-light status of “active” can be an exit indicator relative to the mobile device 104.

In general, the media processor(s) 112 (e.g., the media processor 112(1)) can determine a status of the dome light when monitoring for exit indicators and/or entry indicators. In various cases, the status can be determined by making an affirmative request to the vehicle computer system 106, by waiting for an alert or trigger of a change to the dome-light status, combinations of same, and/or the like. In some embodiments, if the status of the dome light is “active,” the mobile device 104 may be considered to have exited the vehicle.

The open-door sensor 220 can provide an indication of whether a vehicle door is open. In many cases, the open-door sensor 220 can be one of the sensors 114(3) of the vehicle computer system 106. In certain embodiments, the open-door sensor 220 can monitor a specific door (e.g., a driver's door), a specific combination of doors (e.g., any front door), all doors of the vehicle, etc. For example, a vehicle-door status of “open” for a driver-side door can be an exit indicator relative to the mobile device 104.

In a typical embodiment, the media processor(s) 112 (e.g., the media processor 112(1)) can determine the vehicle-door status when monitoring for exit indicators and/or entry indicators. In various cases, the vehicle-door status can be determined by making an affirmative request to the vehicle computer system 106, by waiting for an alert or trigger of a change to the door-open status (e.g., a door-open alert), combinations of same, and/or the like. In some embodiments, if the vehicle-door status is “open,” the mobile device 104 may be considered to have exited the vehicle.

The seat-weight sensor 222 can provide an indication of a seat weight of at least one seat of the vehicle. For example, the seat-weight sensor 222 can be positioned inside a driver-side seat. In various cases, the seat-weight sensor 222 can be one of the sensors 114(1) of the IVMS 102, one of the sensors 114(3) of the vehicle computer system 106, etc. In certain embodiments, the media processor(s) 112 (e.g., the media processor 112(1)) can determine a seat weight for the driver-side seat when monitoring for exit indicators and/or entry indicators.

In various cases, the seat weight can be determined by making an affirmative request to the seat-weight sensor 222, by waiting for an alert or report from the seat-weight sensor 222, combinations of same, and/or the like. A seat weight of less than a configurable threshold (e.g., seventy pounds) can be an exit indicator (e.g., an indication that the driver-side seat is unoccupied). Similarly, a seat weight of greater than or equal to the configurable threshold can be an entry indicator (e.g., an indication that the driver-side seat is occupied).

The seatbelt sensor 224 can provide an indication of whether one or more seatbelts are locked, or latched. For example, in some embodiments, the seatbelt sensor 224 can be one of the sensors 114(3) of the vehicle computer system 106. According to this example, the media processor(s) 112 (e.g., the media processor 112(1)) can determine a status of a seatbelt of the vehicle, such as a driver-side seatbelt, when monitoring for exit indicators and/or entry indicators.

In various cases, the seatbelt status can be determined by making an affirmative request to the vehicle computer system 106, by waiting for an alert or trigger from the seatbelt sensor 224, combinations of same, and/or the like. A seatbelt status of “unlocked” (i.e., unlatched) that follows a previous seatbelt status of “locked” (i.e., latched) can be an exit indicator relative to the mobile device 104. In similar fashion, a seatbelt status of “locked” that follows a previous status of “unlocked” can be an entry indicator relative to the mobile device 104.

The RFID system 226 typically distributes functionality between the IVMS 102 and the mobile device 104. In general, the RFID system 226 can be used to determine whether the mobile device 104 is in close proximity to the IVMS 102. In an example, the RFID system 226 can include an RFID reader on the IVMS 102 (e.g., as part of the sensors 114(1)) and an RFID tag on the mobile device 104 (e.g., as part of the sensors 114(2)). According to this example, the RFID reader of the IVMS 102 can periodically transmit a radio signal to interrogate the RFID tag of the mobile device 104. Thereafter, the RFID reader of the IVMS 102 can determine whether the RFID tag is interrogated. In various embodiments, this determination can serve as an indication of distance between the IVMS 102 and the mobile device 104.

For example, for a first radio signal (or set of radio signals), a determination may be made that the RFID tag is interrogated. Later, with respect to one or more subsequent radio signals, a determination may be made that the RFID is not interrogated. In certain embodiments, the transition of the RFID tag from interrogated to not interrogated can be interpreted by the media processor 112(1) of the IVMS 102 to mean that the mobile device 104 is not in close proximity to the IVMS 102. In that way, the subsequent determination that the RFID tag is not interrogated can be an exit indicator relative to the mobile device 104. Conversely, a determination that the RFID tag is interrogated can be interpreted by the media processor 112(1) of the IVMS 102 to mean that the mobile device 104 is in close proximity to the IVMS 102. Thus, in some embodiments, a determination that the RFID tag is interrogated can be an entry indicator relative to the mobile device 104.

The media processor 112(1) can monitor the RFID system 226 when monitoring for exit indicators and/or entry indicators. For example, in certain embodiments, the media processor 112(1) can make affirmative requests to the RFID system 226 or a component thereof (e.g., the RFID reader), wait for alerts or triggers from the RFID system 226 or a component thereof, combinations of same, and/or the like.

The motion detector 228 can provide an indication of whether motion is detected inside the vehicle, or in a portion of the vehicle that is visible to the motion detector 228 (e.g., a driver-side region of the vehicle). For example, the motion detector 228 can be one of the sensors 114(1) of the IVMS 102. In certain embodiments, the media processor(s) 112 (e.g., the media processor 112(1)) can determine whether motion is detected in the interior of the vehicle when monitoring for exit indicators and/or entry indicators.

In various cases, the determination of whether motion is detected can be accomplished by making affirmative requests to the motion detector 228, by waiting for an alert or report from the motion detector 228, combinations of same, and/or the like. For example, in certain embodiments, the fact that no motion is detected within a configurable period of time (e.g., ten seconds) can be an exit indicator relative to the mobile device 104. By way of further example, in certain embodiments, the fact that motion is detected after a previous period during which no motion was detected can be an entry indicator relative to the mobile device 104.

The face detector 230 can provide an indication of whether human presence is detected inside the vehicle or within a certain portion of the vehicle (e.g., a driver-side portion of the vehicle). In certain embodiments, the face detector 230 can include hardware (e.g., a video camera) and software that captures and analyzes a live video feed inside the vehicle. In certain embodiments, the face detector 230 is operable to identify faces, for example, within a camera field-of-view. For example, the face detector 230 can be one of the sensors 114(1) of the IVMS 102. In certain embodiments, the media processor(s) 112 (e.g., the media processor 112(1)) can determine, when monitoring for exit indicators and/or entry indicators, whether human presence is detected in the interior of the vehicle based, at least in part, on whether faces are detected.

In various cases, the determination of whether human presence is detected can be accomplished by making affirmative requests to the face detector 230, by waiting for an alert or report from the face detector 230, combinations of same, and/or the like. For example, in certain embodiments, the fact that no faces are detected within a configurable period of time (e.g., ten seconds) can be an exit indicator relative to the mobile device 104. By way of further example, in certain embodiments, the fact that at least one face is detected after a previous period during which no faces were detected can be an entry indicator relative to the mobile device 104.

The signal analyzer 232 can measure power present in a radio signal received from the mobile device 104. In a typical embodiment, the signal analyzer 232 can be one of the sensors 114(1) of the IVMS 102. For example, the signal analyzer 232 can evaluate a received signal strength indication (RSSI) for a wireless transmission received from the mobile device 104. In an example, the mobile device 104 can periodically transmit a radio signal to the IVMS 102. In some cases, the mobile device 104 may be prompted by the IVMS to transmit the radio signal. Thereafter, the signal analyzer can determine a RSSI for the radio signal. In various embodiments, this determination can serve as an indication of distance between the IVMS 102 and the mobile device 104.

For example, in certain embodiments, a determination that the RSSI is less than a threshold value can be interpreted by the media processor 112(1) of the IVMS 102 to mean that the mobile device 104 is not in close proximity to the IVMS 102. In that way, the determination that the RSSI is less than the threshold value can be an exit indicator relative to the mobile device 104. Conversely, a determination that the RSSI is greater than or equal to the threshold value can be interpreted by the media processor 112(1) of the IVMS 102 to mean that the mobile device 104 is in close proximity to the IVMS 102. Thus, in some embodiments, a determination that the RSSI is greater than or equal to the threshold value can be an entry indicator relative to the mobile device 104.

The media processor 112(1) can monitor the signal analyzer 232 when monitoring for exit indicators and/or entry indicators. For example, in certain embodiments, the media processor 112(1) can make affirmative requests to the signal analyzer 232, wait for alerts or triggers from the signal analyzer 232, combinations of same, and/or the like.

The IR sensor system 234 can transmit and measure reflection from IR beams. In a typical embodiment, the IR sensor system 234 can be one of the sensors 114(2) of the mobile device 104. In general, the IR sensor system 234 can be used to determine whether the mobile device 104 is inside the vehicle. In an example, the IR sensor system 234 can include an IR transmitter and an IR sensor. According to this example, the IR transmitter can periodically transmit an IR beam. Thereafter, an intensity of a reflection of the IR beam, if any, can be measured by the IR sensor. In various embodiments, the measured intensity can serve as an indication of whether the mobile device 104 is located inside the vehicle.

In certain embodiments, the IR sensor system 234 leverages the fact that, as a general matter, when the mobile device 104 is located inside the vehicle, the distance between the mobile device 104 and any surface of the vehicle is typically on the order of several feet or less. Therefore, in certain embodiments, a measured intensity of less than a threshold value, or the absence of any detectable reflection, can be interpreted by the media processor 112(2) of the mobile device 104 to mean that the mobile device 104 is outside the vehicle. In this manner, a measured intensity of less than the threshold value, or no measured intensity at all, can be an exit indicator relative to the mobile device 104. Conversely, a measured intensity of greater than or equal to the threshold value can be an entry indicator relative to the mobile device 104.

The media processor 112(2) can monitor the IR sensor system 234 when monitoring for exit indicators and/or entry indicators. For example, in certain embodiments, the media processor 112(2) can make affirmative requests to the IR sensor system 234, wait for alerts or triggers from the IR sensor system 234, combinations of same, and/or the like.

The relative position monitor 236 can sense changes to a relative position of the mobile device 104. In a typical embodiment, the relative position monitor 236 can be one of the sensors 114(2) of the mobile device 104. In an example, the relative position monitor 236 can include an accelerometer, gyroscope, and/or the like. In certain embodiments, the relative position monitor 236 determines an initial position upon a trigger condition such as, for example, activation of the IVMS 102, initiation of the mobile device 104, etc. Thereafter, the relative position monitor 236 can monitor the position of the mobile device 104 relative to the initial position.

According to this example, if the mobile device 104 is determined to have a relative position that satisfies applicable criteria such as, for example, a certain minimal amount of positional change, the media processor 112(2) can interpret the relative position to be outside the vehicle. In that way, the relative position can be an exit indicator with respect to the mobile device 104. The media processor 112(2) can monitor the relative position monitor 236 when monitoring for exit indicators and/or entry indicators. For example, in certain embodiments, the media processor 112(2) can make affirmative requests to the relative position monitor 236, wait for alerts or triggers from the relative position monitor 236, combinations of same, and/or the like.

FIGS. 3A-3B illustrate an example of processing and storing a live media stream on the IVMS 102. In particular, FIG. 3A illustrates an example state diagram 300 for the IVMS 102, and FIG. 3B illustrates an example state diagram 350 for the mobile device 104.

With particular reference to FIG. 3A, in the illustrated embodiment, the IVMS 102 exists in either an inactive state 302 or an active state 306. While in the inactive state 302, the IVMS 102 typically does not record media. In response to an activation trigger 304, the IVMS 102 can transition from the inactive state 302 to the active state 306. The activation trigger 304 can be, for example, a manual trigger by an operator or user, an automated trigger in response to detecting an event (e.g., emergency-light activation, siren activation, a detected speed in excess of a threshold, excessive g-force events, etc.) and/or the like. Examples of event detection are described in the '995 patent, which patent is incorporated by reference above. Further examples are described in U.S. patent application Ser. No. 12/694,931 (“the '931 application”). The '931 application is hereby incorporated by reference.

While in the active state 306, the IVMS 102 typically records media from one or more media sources, which sources can include video cameras (e.g., dashcams), microphones, and/or the like. In addition, the one or more media sources can, in some cases, include the mobile device 104. In a typical embodiment, the IVMS 102 can record a live media stream received from the mobile device 104. As will be described in greater detail with respect to FIG. 3B, the live media stream may be selectively received and recorded based on exit and/or entry indicators.

In response to a deactivation trigger 308, the IVMS 102 can transition from the active state 306 to the inactive state 302. The deactivation trigger 308 can be, for example, a manual trigger by an operator or user, a detected conclusion to the event (e.g., emergency-light deactivation, siren deactivation, an expiration of a period of time, etc.), and/or the like.

With particular reference to FIG. 3B, in the illustrated embodiment, the mobile device 104 can exist in an inactive state 310, a standby state 314, or an active state 320. For illustrative purposes, examples of automated transitions among the inactive state 310, the standby state 314, and the active state 320 are described below. It should be appreciated that, in some embodiments, manual triggers by an operator can cause a transition to any state at any given time and/or override any of the transitions described below.

In the inactive state 310, the mobile device 104 is typically dormant. Upon receipt of an IVMS activation notification 312, the mobile device 104 transitions to the standby state 314. In certain embodiments, the IVMS activation notification 312 is transmitted by the IVMS 102 to the mobile device 104 upon transition by the IVMS 102 to the active state 306 described above.

In the standby state 314, the mobile device 104 awaits an exit indicator 318. As described above with respect to FIGS. 1-2, in various embodiments, the exit indicator 318 can be detected by the media processor 112(1) of the IVMS 102, the media processor 112(2) of the mobile device 104, and/or another component. For example, the exit indicator 318 can relate to information or outputs generated by any of the sensors 214 described above. In embodiments in which the media processor 112(1) detects the exit indicator 318, the detection can be communicated to the mobile device 104 over the communication link 108.

Upon detecting or being informed of the exit indicator 318, the mobile device 104 transitions from the standby state 314 to the active state 320. If a deactivation notification 316 is received by the mobile device 104, the mobile device 104 transitions from the standby state 314 to the inactive state 310. In certain embodiments, the IVMS deactivation notification 316 is transmitted by the IVMS 102 to the mobile device 104 upon transition by the IVMS 102 to the inactive state 302 described above.

In the active state 320, the mobile device 104 continuously captures and transmits a live media stream to the IVMS 102, for example, over the communication link 108. In addition, while in the active state 320, the mobile device 104 can await an entry indicator 322. As described above relative to FIGS. 1-2, in various embodiments, the entry indicator 322 can be detected by the media processor 112(1) of the IVMS 102, the media processor 112(2) of the mobile device 104, and/or another component. For example, the entry indicator 322 can relate to information or outputs generated by any of the sensors 214 described above. In embodiments in which the media processor 112(2) detects the entry indicator 322, the detection can be communicated to the mobile device 104 over the communication link 108. Upon detecting or being informed of the entry indicator 322, the mobile device 104 transitions from the active state 320 to the standby state 314. If a deactivation notification 324 is received while the mobile device 104 is in the active state 320, the mobile device 104 transitions from the active state 320 to the inactive state 310.

FIG. 4 illustrates an example of processing and storing a live media stream on the mobile device 104. In particular, FIG. 4 illustrates an example state diagram 400. It should be appreciated that, in some embodiments, the IVMS 102 and the vehicle computer system 106 can be omitted. That is, in some implementations, the mobile device 104 can operate in a standalone manner. In other embodiments, the IVMS 102 and/or the vehicle computer system 106 can be included. In the illustrated embodiment, the mobile device 104 exists in an standby state 402 or an active state 406.

In the standby state 402, the mobile device 104 awaits an exit indicator 404. As described above with respect to FIGS. 1-2, in various embodiments, the exit indicator 404 can be detected by the media processor 112(1) of the IVMS 102, the media processor 112(2) of the mobile device 104, and/or another component. For example, the exit indicator 404 can relate to information or outputs generated by any of the sensors 214 described above. In embodiments in which the media processor 112(1) detects the exit indicator 404, the detection can be communicated to the mobile device 104 over the communication link 108.

Upon detecting or being informed of the exit indicator 404, the mobile device 104 transitions from the standby state 402 to the active state 406. In the active state 406, the mobile device 104 continuously captures and stores a live media stream in the storage 125. In addition, while in the active state 406, the mobile device 104 can await an entry indicator 408. As described above in relation to FIGS. 1-2, in various embodiments, the entry indicator 408 can be detected by the media processor 112(1) of the IVMS 102, the media processor 112(2) of the mobile device 104, and/or another component. For example, the entry indicator 408 can relate to information or outputs generated by any of the sensors 214 described above. In embodiments in which the media processor 112(1) detects the entry indicator 408, the detection can be communicated to the mobile device 104 over the communication link 108. Upon detecting or being informed of the entry indicator 408, the mobile device 104 transitions from the active state 406 to the standby state 402.

FIG. 5 illustrates an example of a process 500 for intelligently recording a live media stream. For example, the process 500, in whole or in part, can be implemented by one or more of the IVMS 102, the mobile device 104, the vehicle computer system 106, the media processor 112(1), the media processor 112(2), the media capture component 120, and/or the sensors 114. The process 500 can also be performed generally by the system 100. Although any number of systems, in whole or in part, can implement the process 500, to simplify discussion, the process 500 will be described in relation to specific systems or subsystems of the system 100.

At block 502, the mobile device 104 is initiated. In some implementations, the initiating can include powering on the mobile device 104. Alternatively, or additionally, the initiating can include transition of the mobile device to a standby state such as the standby state 314 of FIG. 3 or the standby state 402 of FIG. 4. At block 504, the media processor(s) 112 monitor environmental conditions for an exit indicator. At decision block 506, the media processor(s) 112 determine whether an exit indicator has been detected. If not, the process 500 returns to block 504 and proceeds as described above. Otherwise, if it is determined at the decision block 506 that an exit indicator has been detected, the process 500 proceeds to block 508.

At block 508, the media processor(s) 112 determine to activate recording of the live media stream. At block 510, recording of the live media stream is activated. Thereafter, the live media stream can be continuously recorded, for example, in any of the ways described above with respect to FIGS. 1-4. At block 512, the media processor(s) 112 monitor environmental conditions for an entry indicator. At decision block 514, the media processor(s) 112 determine whether an entry indicator has been detected. If not, the process 500 returns to block 512 and proceeds as described above. Otherwise, if it is determined at the decision block 514 that an entry indicator has been detected, the process 500 proceeds to block 516.

At block 516, the media processor(s) 112 determine to deactivate recording of the live media stream. At block 518, recording of the live media stream is deactivated. Thereafter, depending on implementation, the IVMS 102 and/or the mobile device 104 can refrain from transmitting and recording the live media stream. From block 518, the process 500 returns to block 504 and proceeds as described above. In various embodiments, the process 500 can continue until terminated or suitable stop criteria is met.

Depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. Although certain computer-implemented tasks are described as being performed by a particular entity, other embodiments are possible in which these tasks are performed by a different entity.

Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment.

While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As will be recognized, the processes described herein can be embodied within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others. The scope of protection is defined by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 

What is claimed is:
 1. A method comprising, by a computer system: initiating a mobile device operable to record a live media stream, wherein recording of the live media stream is deactivated; refraining from recording the live media stream while recording of the live media stream is deactivated; monitoring environmental conditions for one or more preconfigured indicators that indicate that the mobile device has exited a defined physical area; and responsive to detection of at least one of the one or more preconfigured indicators that indicate that the mobile device has exited the defined physical area, determining to activate recording of the live media stream based, at least in part, on the detection of the at least one of the one or more preconfigured indicators.
 2. The method of claim 1, wherein the initiating, the refraining, the monitoring, and the determining are performed, at least in part, by the mobile device.
 3. The method of claim 1, wherein the initiating, the refraining, the monitoring, and the determining are performed, at least in part, by a computer system in communication with the mobile device.
 4. The method of claim 1, comprising: activating recording of the live media stream; and continuously recording the live media stream responsive to the activating.
 5. The method of claim 4, comprising: subsequent to the continuously recording, monitoring for at least one preconfigured indicator that the mobile device has entered the defined physical area; and responsive to detection of the at least one preconfigured indicator, deactivating recording of the live media stream.
 6. The method of claim 1, wherein the defined physical area comprises an interior of a vehicle.
 7. The method of claim 6, wherein: the monitoring comprises determining a status of a vehicle door; and the one or more preconfigured indicators comprises a vehicle-door status of open.
 8. The method of claim 6, wherein: the monitoring comprises determining a status of a dome light that is linked to a vehicle-door status; and the one or more preconfigured indicators comprise a dome-light status of active.
 9. The method of claim 6, wherein: the monitoring comprises determining a seat weight for at least one seat of the vehicle; and wherein the one or more preconfigured indicators comprises a seat-weight determination of less than a threshold weight.
 10. The method of claim 6, wherein: the monitoring comprises determining a status of at least one seatbelt of the vehicle; and the one or more preconfigured indicators comprise a seatbelt status of locked.
 11. The method of claim 6, wherein the monitoring comprises: transmitting a radio signal to interrogate a radio-frequency identification (RFID) tag associated with the mobile device; determining whether the RFID tag is interrogated; and wherein the one or more preconfigured indicators comprises a determination that the RFID tag is not interrogated.
 12. The method of claim 6, wherein the monitoring comprises: determining whether human presence is detected in a live video feed of the interior of the vehicle; and wherein the one or more preconfigured indicators comprises a determination that no human presence is detected in the live video feed.
 13. The method of claim 6, wherein the monitoring comprises: determining whether motion is detected in the interior of the vehicle; and wherein the one or more preconfigured indicators comprises a determination that no motion is detected.
 14. The method of claim 6, wherein the monitoring comprises: evaluating a received signal strength indication (RSSI) for the mobile device; and wherein the one or more preconfigured indicators comprises a determination that the RSSI is less than a threshold value.
 15. The method of claim 6, wherein the monitoring comprises: the mobile device transmitting an infrared (IR) beam; measuring reflection intensity relative to the IR beam; and wherein the one or more preconfigured indicators comprise a measured reflection intensity of less than a threshold value.
 16. The method of claim 6, wherein the monitoring comprises: determining a relative position of the mobile device using at least one of accelerometer data and gyroscope data; and wherein the one or more preconfigured indicators comprises a relative-position determination that is outside the vehicle.
 17. The method of claim 6, wherein the one or more preconfigured indicators comprise inputs from at least one of the following: an open-door sensor, a dome-light sensor, a radio-frequency identification (RFID) system, a face-detection system, a motion-detection system, an infrared sensor system, an accelerometer, and a gyroscope.
 18. The method of claim 1, wherein: the mobile device comprises a wearable camera; and the live media stream comprises a live video stream.
 19. A system comprising: at least one processor, wherein the at least one processor is operable to implement a method comprising: initiating a mobile device operable to record a live media stream, wherein recording of the live media stream is deactivated; refraining from recording the live media stream while recording of the live media stream is deactivated; monitoring environmental conditions for one or more preconfigured indicators that indicate that the mobile device has exited a defined physical area; and responsive to detection of at least one of the one or more preconfigured indicators that indicate that the mobile device has exited the defined physical area, determining to activate recording of the live media stream based, at least in part, on the detection of the at least one of the one or more preconfigured indicators.
 20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising: initiating a mobile device operable to record a live media stream, wherein recording of the live media stream is deactivated; refraining from recording the live media stream while recording of the live media stream is deactivated; monitoring environmental conditions for one or more preconfigured indicators that indicate that the mobile device has exited a defined physical area; and responsive to detection of at least one of the one or more preconfigured indicators that indicate that the mobile device has exited the defined physical area, determining to activate recording of the live media stream based, at least in part, on the detection of the at least one of the one or more preconfigured indicators. 